1. Field of the Invention
The present invention relates to an image processing apparatus preferred for performing processing, for example, motion detection processing at the time of coding moving pictures.
2. Description of the Related Art
In recent years, there has been remarkable progress made in a coding techniques for coding moving pictures with a high quality and a high compression rate.
As one of main techniques for performing such a moving picture compression with a high efficiency, there is motion detection for finding the motion vector indicating the motion of the image. Several techniques for finding this motion vector have been proposed. As one of the main techniques, there is the technique referred to as "block matching".
An explanation will be made of this block matching by referring to FIG. 1.
In this block matching, the image covered by the motion detection (hereinafter referred to as a "current image") is divided into blocks of for example M number of pixels.times.N number of lines (hereinafter referred to as a "current block"), and the motion vector is found for every current block.
First, a predetermined search range is set in the vicinity of the position corresponding to the current block of the image before the usual current image for performing a comparison for motion detection in time (hereinafter referred to as a reference image). A plurality of blocks of M number of pixels.times.N number of lines the same as the current block (hereinafter referred to as candidate blocks) are extracted based on the candidate motion vector given from within this search range.
Next the difference between corresponding pixels of the current block and candidate block is found. Further, for example, the cumulative value of the differences of all pixels in the block is found and made the evaluation value of that candidate block.
Next, the candidate block giving the smallest evaluation value is found, and the candidate motion vector corresponding to that candidate block is used as the motion vector for the current block.
In such a motion detection method, however, the quality of the compressed and expanded image is greatly influenced by the size of the search range of the candidate block. Therefore, it is made desirable to perform high speed motion detection by using a large search range. For this reason, in an actual moving picture coding circuit, sometimes the method is adopted of using high speed blocks for the processing as much as possible and further using pipeline processing for the motion detection circuit. Further, sometimes the method is adopted of storing the image data of the search range of the reference image generating the candidate block in the register file, reading this by an FIFO format, and thereby calculating the differences from the pixels of the current block at a high speed.
Moving image coding circuits, including such motion detection circuits, are often incorporated in LSIs. It is therefore desired to reduce the power consumption.
This motion detection circuit, however, is disadvantageous in that it is difficult to reduce the power consumption to processing a large amount of data at a high speed in high speed operation.
Specifically, for example, since binary code addresses are normally used for reading a register file, when successively reading data by continuously changing the addresses, hazards occur in the output of the address decoder, output signals frequently collide on the output bus of the register file due to the hazards, and the power consumption of the register file as a whole becomes larger.
Further, when successively shifting image data by pipeline parallel processing etc., an on/off operation of the data line is repeated between the processor elements so the power consumption becomes larger due to this operation.
Further, as explained above, this motion detection circuit operates at a high speed, so the increase in the power consumption due to the collisions on the output signal and the shift of the data becomes smaller which has a large effect on the power consumption of the moving picture coding circuit as a whole.